package com.demo.oa.biz;

import com.demo.oa.entity.ClaimVoucher;
import com.demo.oa.entity.ClaimVoucherItem;
import com.demo.oa.entity.DealRecord;

import java.util.List;

public interface ClaimVoucherBiz {
    /**
     * 保存报销单
     * @param claimVoucher 报销单基本信息对象
     * @param items 报销单条目列表
     */
    void save(ClaimVoucher claimVoucher, List<ClaimVoucherItem> items);

    ClaimVoucher get(int id);
    List<ClaimVoucherItem> getItems(int cvid);
    List<DealRecord> getRecords(int cvid);

    // 获取个人报销单
    List<ClaimVoucher> getForSelf(String sn);
    // 获取待处理报销单
    List<ClaimVoucher> getForDeal(String sn);

    void update(ClaimVoucher claimVoucher, List<ClaimVoucherItem> items);

    /**
     * 提交报销单
     * @param id
     */
    void submit(int id);

    /**
     * 处理报销单
     * @param dealRecord 报销单处理记录
     */
    void deal(DealRecord dealRecord);
}
